package twelfth.压缩流.解压缩;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

public class 解压缩文件 {
    public static void main(String[] args) throws IOException {
        File file = new File("D:\\WorkSpaces\\JavaDevelopBase_start_329\\src\\twelfth\\demo2.zip");
        File unzipfile = new File("D:\\WorkSpaces\\JavaDevelopBase_start_329\\src\\twelfth\\demo2_unzip.txt");//定义解压缩的文件名称
        ZipFile zipFile = new ZipFile(file);
        ZipEntry entry = zipFile.getEntry("demo2.txt");
        InputStream is = zipFile.getInputStream(entry);
        FileOutputStream fos = new FileOutputStream(unzipfile);
        int temp =0;
        while ((temp=is.read())!=-1){
            fos.write(temp);
        }
        fos.close();
        is.close();
    }
}
/**
 * 这个程序只适用于压缩文件中只有一个ZipEntry的情况，如果压缩文件中存在文件夹或者多个ZipEntry就无法使用了
 * 如果要做更加复杂的压缩文件，就必须结合ZipInputStream类完成
 */